/**************************************************************************
 *   Hypo-Alg.cpp                                                         *
 *                                                                        *
 *   Copyright (C) 2009 Paul Tagliamonte ( paultag@ubuntu.com )           *
 *   This program is free software; you can redistribute it and/or modify *
 *   it under the terms of the GNU General Public License as published by *
 *   the Free Software Foundation; either version 1, or (at your option)  *
 *   any later version.                                                   *
 *                                                                        *
 *   This program is distributed in the hope that it will be useful,      *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of       *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
 *   GNU General Public License for more details.                         *
 *                                                                        *
 *   You should have received a copy of the GNU General Public License    *
 *   along with this program; if not, write to the Free Software          *
 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.            *
 *                                                                        *
 **************************************************************************/

#include <iostream>
#include "Hypo-Alg.h"
#include "Swarm/DefaultSwarm.h"

using namespace std;

void version() {
	cout << "\nCopyright Information:\n";
	cout << "-------------------------------\n";
	cout << AUTHOR << " ( " << CONTACT << " ) " << "\n";
	cout << ORG << "\n";
	cout << "Licensed under the " << LICENSE << "\n";
	cout << "-------------------------------\n\n";
}

int main ( int argc, char ** argv ) {

	signed int x = 10;
	signed int y = 10;

	DefaultSwarm * s = new DefaultSwarm( x, y, 4 );

	try {

		

/*
		for ( int i = 0; i < y; ++i ) {
			for ( int n = 0; n < x; ++n ) {
				s->getNode( i, n )->start();
			}
		}

		for ( int i = 0; i < y; ++i ) {
			for ( int n = 0; n < x; ++n ) {
				s->getNode( i, n )->wait();
			}
		}
*/		

	} catch ( SwarmOutOfRangeException& e ) {
		cout << "Out of Range Exception: " << e.what() << "\n";
	} catch ( SwarmException& e ) {
		cout << "Generic Swarm Exception: " << e.what() << "\n";
	} catch ( exception& e ) {
		cout << "Generic Exception: " << e.what() << "\n";
	}

}

